@CI
2年前 提问
1个回答

软件安全功能测试包括哪些方面

上官雨宝
2年前

软件安全功能测试包括以下方面:

  • 保密性测试:保密性机制的核心为密码算法的应用。因而对于软件保密性功能进行测试时,必须围绕密码算法及算法应用中可能存在的脆弱点进行测试。保密性测试的主要包括标准遵从、数据验证、加密算法的验证等方面。

  • 完整性测试:在我国信息安全等级保护测评中,完整性测试属于数据安全和备份恢复的一部分。根据完整性保护对象的不同,完整性测试可以分为数据完整性测试、系统完整性测试和数据传输过程完整性测试3类。

  • 可用性测试:可用性测试不仅应该包括与系统运行性能密切相关的测试,如压力测试、负载测试等,也应该包括系统提供服务能力的测试,如用户并发服务数量、响应时间、用户接口及用户应用体验方面的测试。可用性与可靠性、可扩展性、系统弹性及可恢复性有着密切的关系,应该说可用性测试包含了更广泛意义的内容。从安全的角度考虑,最大宕机时间和恢复时间目标是可用性测试的两个主要指标,此外,单点失效和故障转移也是需要测试的内容。

  • 可认证性测试:根据软件安全认证对象的不同,认证性测试分为对身份认证的测试和对数据源发认证的测试。数据源发认证的测试方法主要是通过验证消息的签名来实现的。

  • 授权测试:授权是认证成功之后用户访问权限分配的过程。授权测试意味着需要理解授权是如何实现访问控制目标的,以及如何利用这些信息来绕过授权机制。授权测试的内容包括检查用户权限是否进行了适当的等级划分。对于一些有权限控制的功能,需要验证它们是否达到了预期的权限控制水平,不同权限用户是否可以访问其他权限用户的数据,以及最小授权机制是否得以实现。

  • 审计测试:审计测试的内容主要包括系统及性能监控、日志分析主要对操作日志的安全性进行测试和验证数据正确性、事件监控、监控方法与工具等方面。